package com.ruoyi.factorydata.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 生产项目对象 production_project
 *
 * @author ruoyi
 * @date 2025-07-24
 */

@Data
@TableName(resultMap = "com.ruoyi.factorydata.mapper.ProductionProjectMapper.ProductionProjectResult")
public class ProductionProject extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;


    /**
     * 项目编号
     */
    private String projectCode;
    /**
     * 生产订单号
     */
    @Excel(name = "生产订单号")
    private String productionOrderNumber;

    /**
     * 客户id
     */
    @Excel(name = "客户id")
    private Long customerId;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    @TableField(exist = false)
    private String customerName;
    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    @TableField(exist = false)
    private String customerCode;

    /**
     * 订单来源
     */
    @Excel(name = "订单来源")
    private String orderSource;

    /**
     * 模板id
     */
    @Excel(name = "模板id")
    private String templateId;

    /**
     * 优先级
     */
    @Excel(name = "优先级")
    private String priority;


    /**
     * 表征需求
     */
    @Excel(name = "表征需求")
    private String characterizationRequirement;

    /**
     * 外观需求
     */
    @Excel(name = "外观需求")
    private String surfaceRequirement;
    /**
     * 项目目标
     */
    private String target;
    /**
     * 附件
     */
    private String attachments;
    /**
     * 项目负责人
     */
    @Excel(name = "项目负责人Id")
    private Long projectManager;

    /**
     * 项目负责人
     */
    @Excel(name = "项目负责人")
    @TableField(exist = false)
    private String projectManagerName;

    @TableField(exist = false)
    private String userName;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String status;

    /**
     * 批次数量
     */
    private String batchQuantity;
    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableLogic(value = "0", delval = "2")
    private String delFlag;

    /**
     * 版本号
     */
    @Version
    private Long version;


}